home *** CD-ROM | disk | FTP | other *** search
- /************************************************************
-
- Created: Friday, October 20, 1989 at 5:14 AM
- GestaltEqu.h
- C Interface to the Macintosh Libraries
-
-
- Copyright Apple Computer, Inc. 1989-90
- All rights reserved
-
- ************************************************************/
-
-
- #ifndef __GESTALTEQU__
- #define __GESTALTEQU__
-
- #ifndef REZ
-
- #ifndef __TYPES__
- #include <Types.h>
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- pascal OSErr Gestalt( OSType selector, long *response );
- pascal OSErr NewGestalt( OSType selector, ProcPtr gestaltFunction );
- pascal OSErr ReplaceGestalt( OSType selector, ProcPtr gestaltFunction,
- ProcPtr *oldGestaltFunction);
-
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /*REZ*/
-
- /************************
- * Gestalt error codes
- ************************/
- #define gestaltUnknownErr -5550 /* value returned if Gestalt doesn't know the answer */
- #define gestaltUndefSelectorErr -5551 /* undefined selector was passed to Gestalt */
- #define gestaltDupSelectorErr -5552 /* tried to add an entry that already existed */
- #define gestaltLocationErr -5553 /* gestalt function ptr wasn't in sysheap */
-
- /**************************
- * Environment Selectors
- **************************/
- #define gestaltVersion 'vers' /* gestalt version */
-
- #define gestaltAddressingModeAttr 'addr' /* addressing mode attributes */
- #define gestalt32BitAddressing 0 /* using 32-bit addressing mode */
- #define gestalt32BitSysZone 1 /* 32-bit compatible system zone */
- #define gestalt32BitCapable 2 /* Machine is 32-bit capable */
-
- #define gestaltAliasMgrAttr 'alis' /* Alias Mgr Attributes */
- #define gestaltAliasMgrPresent 0 /* True if the Alias Mgr is present */
-
- #define gestaltAppleTalkVersion 'atlk' /* appletalk version */
-
- #define gestaltAUXVersion 'a/ux' /* a/ux version, if present */
-
- #define gestaltConnMgrAttr 'conn' /* connection mgr attributes */
- #define gestaltConnMgrPresent 0
- #define gestaltConnMgrCMSearchFix 1 /* Fix to CMAddSearch? */
-
- #define gestaltCRMAttr 'crm ' /* comm resource mgr attributes */
- #define gestaltCRMPresent 0
-
- #define gestaltCTBVersion 'ctbv' /* CommToolbox version */
-
- #define gestaltDBAccessMgrAttr 'dbac' /* Database Access Mgr attributes */
- #define gestaltDBAccessMgrPresent 0 /* True if Database Access Mgr present */
-
- #define gestaltDITLExtAttr 'ditl' /* AppenDITL, etc. calls from CTB */
- #define gestaltDITLExtPresent 0 /* True if calls are present */
-
- #define gestaltEasyAccessAttr 'easy' /* Easy Access attributes */
- #define gestaltEasyAccessOff 0 /* if Easy Access present, but off (no icon) */
- #define gestaltEasyAccessOn 1 /* if Easy Access "On" */
- #define gestaltEasyAccessSticky 2 /* if Easy Access "Sticky" */
- #define gestaltEasyAccessLocked 3 /* if Easy Access "Locked" */
-
- #define gestaltEditionMgrAttr 'edtn' /* Edition Mgr attributes */
- #define gestaltEditionMgrPresent 0 /* True if Edition Mgr present */
-
- #define gestaltAppleEventsAttr 'evnt' /* Apple Events attributes */
- #define gestaltAppleEventsPresent 0 /* True if Apple Events present */
-
- #define gestaltFindFolderAttr 'fold' /* FindFolder attributes */
- #define gestaltFindFolderPresent 0 /* True if FindFolder present */
-
- #define gestaltFontMgrAttr 'font' /* Font Mgr attributes */
- #define gestaltOutlineFonts 0 /* True if Outline Fonts supported */
-
- #define gestaltFPUType 'fpu ' /* fpu type */
- #define gestaltNoFPU 0 /* no FPU */
- #define gestalt68881 1 /* 68881 FPU */
- #define gestalt68882 2 /* 68882 FPU */
- #define gestalt68040FPU 3 /* 68040 built-in FPU */
-
- #define gestaltFSAttr 'fs ' /* file system attributes */
- #define gestaltFullExtFSDispatching 0 /* has really cool new HFSDispatch dispatcher */
-
- #define gestaltFXfrMgrAttr 'fxfr' /* file transfer manager attributes */
- #define gestaltFXfrMgrPresent 0
-
- #define gestaltHardwareAttr 'hdwr' /* hardware attributes */
- #define gestaltHasVIA1 0 /* VIA1 exists */
- #define gestaltHasVIA2 1 /* VIA2 exists */
- #define gestaltHasASC 3 /* Apple Sound Chip exists */
- #define gestaltHasSCC 4 /* SCC exists */
- #define gestaltHasSCSI 7 /* SCSI exists */
-
- #define gestaltHelpMgrAttr 'help' /* Help Mgr Attributes */
- #define gestaltHelpMgrPresent 0 /* true if help mgr is present */
-
- #define gestaltKeyboardType 'kbd ' /* keyboard type */
- #define gestaltMacKbd 1
- #define gestaltMacAndPad 2
- #define gestaltMacPlusKbd 3
- #define gestaltExtADBKbd 4
- #define gestaltStdADBKbd 5
- #define gestaltPrtblADBKbd 6
- #define gestaltPrtblISOKbd 7
- #define gestaltStdISOADBKbd 8
- #define gestaltExtISOADBKbd 9
- #define gestaltElmerKbd 10
- #define gestaltElmerISOKbd 11
-
- #define gestaltLowMemorySize 'lmem' /* size of low memory area */
-
- #define gestaltLogicalRAMSize 'lram' /* logical ram size */
-
- #define gestaltMiscAttr 'misc' /* miscellaneous attributes */
- #define gestaltScrollingThrottle 0 /* true if scrolling throttle on */
- #define gestaltSquareMenuBar 2 /* true if menu bar is square */
-
- #define gestaltMMUType 'mmu ' /* mmu type */
- #define gestaltNoMMU 0 /* no MMU */
- #define gestaltAMU 1 /* address management unit */
- #define gestalt68851 2 /* 68851 PMMU */
- #define gestalt68030MMU 3 /* 68030 built-in MMU */
- #define gestalt68040MMU 4 /* 68040 built-in MMU */
-
- #define gestaltStdNBPAttr 'nlup' /* standard nbp attributes */
- #define gestaltStdNBPPresent 0
-
- #define gestaltNotificationMgrAttr 'nmgr' /* notification manager attributes */
- #define gestaltNotificationPresent 0 /* notification manager exists */
-
- #define gestaltNuBusConnectors 'sltc' /* bitmap of NuBus connectors <19> */
-
- #define gestaltOSAttr 'os ' /* o/s attributes */
- #define gestaltSysZoneGrowable 0 /* system heap is growable */
- #define gestaltLaunchCanReturn 1 /* can return from launch */
- #define gestaltLaunchFullFileSpec 2 /* can launch from full file spec */
- #define gestaltLaunchControl 3 /* launch control support available */
- #define gestaltTempMemSupport 4 /* temp memory support */
- #define gestaltRealTempMemory 5 /* temp memory handles are real */
- #define gestaltTempMemTracked 6 /* temporary memory handles are tracked */
- #define gestaltIPCSupport 7 /* IPC support is present */
- #define gestaltSysDebuggerSupport 8 /* system debugger support is present */
-
- #define gestaltOSTable 'ostt' /* OS trap table base <18> */
- #define gestaltToolboxTable 'tbtt' /* Toolbox trap table base <18> */
- #define gestaltExtToolboxTable 'xttt' /* Extended Toolbox trap table base <18> */
-
- #define gestaltLogicalPageSize 'pgsz' /* logical page size */
-
- #define gestaltPowerMgrAttr 'powr' /* power manager attributes */
- #define gestaltPMgrExists 0
- #define gestaltPMgrCPUIdle 1
- #define gestaltPMgrSCC 2
- #define gestaltPMgrSound 3
-
- #define gestaltPPCToolboxAttr 'ppc ' /* PPC toolbox attributes */
-
- /*
- * PPC will return the combination of following bit fields.
- * e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncomming + gestaltPPCSupportsOutGoing
- * indicates PPC is cuurently is only supports real time delivery
- * and both incoming and outgoing network sessions are allowed.
- * By default local real time delivery is supported as long as PPCInit has been called.
- */
- #define gestaltPPCToolboxPresent 0X0000 /* PPC Toolbox is present Requires PPCInit to be called */
- #define gestaltPPCSupportsRealTime 0X1000 /* PPC Supports real-time delivery */
- #define gestaltPPCSupportsStoreAndForward 0X2000 /* PPC Store and Forward delivery */
- #define gestaltPPCSupportsDontCare 0x4000 /* PPC Supports Specification of Don't care */
- #define gestaltPPCSupportsIncomming 0x0001 /* PPC will deny incomming network requests */
- #define gestaltPPCSupportsOutGoing 0x0002 /* PPC will deny outgoing network requests */
-
- #define gestaltProcessorType 'proc' /* processor type */
- #define gestalt68000 1
- #define gestalt68010 2
- #define gestalt68020 3
- #define gestalt68030 4
- #define gestalt68040 5
-
- #define gestaltParityAttr 'prty' /* parity attributes */
- #define gestaltHasParityCapability 0 /* has ability to check parity */
- #define gestaltParityEnabled 1 /* parity checking enabled */
-
- #define gestaltQuickdrawVersion 'qd ' /* quickdraw version */
- #define gestaltOriginalQD 0x000 /* original 1-bit QD <3.2> */
- #define gestalt8BitQD 0x100 /* 8-bit color QD <3.2> */
- #define gestalt32BitQD 0x200 /* 32-bit color QD <3.2> */
-
- #define gestaltPhysicalRAMSize 'ram ' /* physical RAM size */
-
- #define gestaltPopupAttr 'pop!' /* popup cdef attributes */
- #define gestaltPopupPresent 0
-
- #define gestaltResourceMgrAttr 'rsrc' /* Resource Mgr attributes */
- #define gestaltPartialRsrcs 0 /* True if partial resources exist */
-
- #define gestaltScriptMgrVersion 'scri' /* Script Manager version number <08/05/89 pke> */
- #define gestaltScriptCount 'scr#' /* number of active script systems <08/05/89 pke> */
-
- #define gestaltSerialAttr 'ser ' /* Serial attributes <19> */
- #define gestaltHasGPIaToDCDa 0 /* GPIa connected to DCDa <19> */
- #define gestaltHasGPIaToRTxCa 1 /* GPIa connected to RTxCa clock input <19> */
- #define gestaltHasGPIbToDCDb 2 /* GPIb connected to DCDb <19> */
-
- #define gestaltSoundAttr 'snd ' /* sound attributes */
- #define gestaltStereoCapability 0 /* sound hardware has stereo capability */
- #define gestaltStereoMixing 1 /* stereo mixing on external speaker */
- #define gestaltSoundIOMgrPresent 3 /* The Sound I/O Manager is present */
- #define gestaltSoundInputPresent 4 /* Sound Input hardware is present */
-
- #define gestaltStandardFileAttr 'stdf' /* Standard File attributes */
- #define gestaltStandardFile58 0 /* True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported */
-
- #define gestaltTextEditVersion 'te ' /* TextEdit version number <08/05/89 pke> */
- #define gestaltTE1 1 /* TextEdit in MacIIci ROM <8Aug89smb> */
- #define gestaltTE2 2 /* TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) <8Aug89smb> */
- #define gestaltTE3 3 /* TextEdit with 6.0.4 Script Systems all but MacIIci <8Aug89smb> */
-
- #define gestaltTE4 4 /* TextEdit in Big Bang <8Aug89smb> */
-
- #define gestaltTermMgrAttr 'term' /* terminal mgr attributes */
- #define gestaltTermMgrPresent 0
-
- #define gestaltTimeMgrVersion 'tmgr' /* time mgr version */
- #define gestaltStandardTimeMgr 1 /* standard time mgr is present */
- #define gestaltRevisedTimeMgr 2 /* revised time mgr is present */
- #define gestaltExtendedTimeMgr 3 /* extended time mgr is present */
-
- #define gestaltVMAttr 'vm ' /* virtual memory attributes */
- #define gestaltVMPresent 0 /* true if virtual memory is present */
-
- /*************************
- * Info-only selectors
- ************************/
- #define gestaltMachineType 'mach' /* machine type */
- #define gestaltClassic 1
- #define gestaltMacXL 2
- #define gestaltMac512KE 3
- #define gestaltMacPlus 4
- #define gestaltMacSE 5
- #define gestaltMacII 6
- #define gestaltMacIIx 7
- #define gestaltMacIIcx 8
- #define gestaltMacSE030 9
- #define gestaltPortable 10
- #define gestaltMacIIci 11
- #define gestaltMacIIfx 13
- #define gestaltMacClassic 17
- #define gestaltMacIIsi 18
- #define gestaltMacLC 19
-
- #define gestaltMachineIcon 'micn' /* machine icon */
-
- #define gestaltROMSize 'rom ' /* rom size */
- #define gestaltROMVersion 'romv' /* rom version */
- #define gestaltSystemVersion 'sysv' /* system version*/
-
- #endif /*GESTALTEQU*/
-
-